''':return

1.  两种重要的数据类型：
    Series
    DataFrame
           8 4 2 1
    dtype: 0000 -- 0-15 2^4
           0000 0000 -- 2^8
           0*32  2^32

'''
import numpy as np
import pandas as pd

def name(input):

    # todo:

    return

# lambda df: #todo



# df.loc   -- 用标签切分索引
# df.iloc  -- 用位置切分索引

# df[[]] 列切片

''' 按行列筛选 '''
# 获得任意1行的值 df.loc['2013-01-01'] df.iloc[0]
# 获得任意1列的值 df['A'] , df.loc[:,'A'],df.iloc[:,0]
# 获得任意1个值 df.iloc[0,0] , df.loc['2013-01-01','A'] df.at[]
# 获得任意一块值 df.iloc [0:5,0:3] , df.loc ['2013-01-01':2013-01-05,['A','B','C']]

''' 按value 筛选 '''
# df.loc[df['A'] > 0]



'''setting 建立或添加数据'''
import pandas as pd
import numpy as np
dates = pd.date_range("20130101", periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list("ABCD"))

# 对一个值子修改
# df.at[dates[0], "A"] = 0  用行列的标签(名称)索引  -- 对应 df.loc[]
# df.iat[0, 1]              用位置索引            -- 对应 df.iloc[]

# 对多行多列修改
# df.loc[:, "D"] = np.array([5] * len(df))


# df1.dropna  -- 删除NA
# 问题1： df1.dropna(thresh=1)

# df1.fillna(value=5) -- 用数值填充NA
# pd.isna(df1) -- 判断是否为na


''' 运算： Operations'''

# 基本运算
# df.mean() /median/max/min
# 问 -- 加权平均  - np.average(dataframe, axis=0,weights=(10, 5, 1))

# 移位运算
# shift(2)
# df.sub(s, axis="index") 取子集

lambda x: x.max() - x.min()

def fun(x):
    return x.max() - x.min()

# Histogramming -- value_counts() 直方图 -- 统计x出现次数的图

''':CS科班
硬件
    1. 计算机组成原理
    2. 操作系统 os
    3. 计算机网络

软件：
    1. 计算机语言：JAVA
    2. 软件工程设计：模块

'''

## concat -- 拼接
import numpy as np
import pandas as pd

# df = pd.DataFrame(np.random.randn(10, 4))
dates = pd.date_range("20130101", periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list("ABCD"))


##
df = pd.DataFrame(
    {
        "A": ["foo", "bar", "foo", "bar", "foo", "bar", "foo", "foo"],
        "B": ["one", "one", "two", "three", "two", "two", "one", "three"],
        "C": np.random.randn(8),
        "D": np.random.randn(8),
    }
)


## plt
import matplotlib.pyplot as plt
plt.close("all")
ts = pd.Series(np.random.randn(1000), index=pd.date_range("1/1/2000", periods=1000))
ts = ts.cumsum()

plt.plot(ts,color='green')

plt.show()

